Developer --> Technical Publications
PATH Hardware Documentation > Device Managers and Drivers > ATA Devices > ATA Device Software Guide


ATA_BusInquiry

The ATA_BusInquiry function returns information about a specific ATA bus for standard ATA and ATAPI interfaces, and for the HBA environment. The support for HBA features in this function is provided for possible future expansion of the Macintosh ATA architecture.

The manager function code for the ATA_BusInquiry function is $03.

The parameter block associated with this function is defined below:

typedef struct /* ATA bus inquiry structure */
{
ataPBHdr /* ataPBHdr parameter block */
UInt16 ataEngineCount; /* <-- TBD; zero for now */
UInt16 ataReserved; /* Reserved */
UInt32 ataDataTypes; /* <-- TBD; zero for now */
UInt16 ataIOpbSize;  /* <-- Size of ATA I/O PB */
UInt16 ataMaxIOpbSize; /* <-- TBD; zero for now */
UInt32 ataFeatureFlags; /* <-- TBD */
UInt8 ataVersionNum; /* <-- HBA Version number */
UInt8 ataHBAInquiry; /* <-- TBD; zero for now */
UInt16 ataReserved2; /* Reserved */
UInt32 ataHBAPrivPtr; /* <-- Pointer to HBA */
/* private data */
UInt32 ataHBAPrivSize; /* <-- Size of HBA */
/* private data */
UInt32 ataAsyncFlags; /* <-- Capability for */
/* callback */
UInt8 ataPIOMode; /* <-- PIO modes supported */
UInt8 ataReserved3; /* Reserved */
UInt8 ataSingleDMAModes;  /* <-- Singleword DMA mode */
UInt8 ataMultiDMAModes; /* <-- Multiword DMA mode */
UInt32 ataReserved4[8]; /* Reserved */
SInt8 ataHBAVendor[16]; /* <-- HBA Vendor ID */
SInt8 ataContrlFamily[16]; /* <-- Family of ATA */
/*controller */
SInt8 ataContrlType[16]; /* <-- Controller model */
/*number */
SInt8 ataXPTversion[4]; /* <-- Version number of XPT */
SInt8 ataReserved6[4]; /* Reserved */
SInt8 ataHBAversion[4]; /* <-- Version number of HBA */
UInt8  ataHBAslotType; /* <-- Type of slot */
UInt8 ataHBAslotNum; /* <-- Slot number of the HBA */
UInt16 ataReserved7; /* Reserved */
UInt32 ataReserved8; /* Reserved */
} ataBusInquiry;

                                                  

Field descriptions

ataPBHdr
See the definition of the ataPBHdr structure.
ataEngineCount
This field is currently set to 0.
ataReserved
Reserved. All reserved fields are set to 0 to ensure future compatibility.
ataDataTypes
Not supported by current ATA architecture. Returns a bit map of data types supported by this HBA. The data types are numbered from 0 to 30; 0 through 15 are reserved for Apple definition and 16 through 30 are available for vendor use. This field is currently not supported and returns 0.
ataIOpbSize
This field contains the size of the I/O parameter block supported.
ataMaxIOpbSize
This field specifies the maximum I/O size for the HBA. This field is currently not supported and returns 0.
ataFeatureFlags
This field specifies supported features. This field is not supported; it returns a value of 0.
ataVersionNum
The version number of the HBA is returned. The current version returns a value of 1.
ataHBAInquiry
Reserved.
ataHBAPrivPtr
This field contains a pointer to the private data area for the HBA. This field is not supported; it returns a value of 0.
ataHBAPrivSize
This field contains the byte size of the private data area for the HDA. This field is not supported; it returns a value of 0.
ataAsyncFlags
These flags indicate which types of asynchronous events the HBA is capable of generating. This field is not supported; it returns a value of 0.
ataPIOModes
This bit-significant field specifies the PIO modes that the ATA bus supports. The least-significant bit indicates support for PIO transfer mode 0. Refer to ATA-2 specification for information on PIO mode timing.
ataSingleDMAModes
This bit-significant field specifies the Single Word DMA transfer modes that the ATA bus supports. The least-significant bit indicates support for Single Word DMA transfer mode 0. Refer to ATA-2 specification for information on DMA mode timing.
ataMultiDMAModes
This bit-significant field specifies the Multiword DMA transfer modes that the ATA bus supports. The least-significant bit indicates support for Multiword DMA transfer mode 0. Refer to ATA-2 specification for information on DMA mode timing.
ataHBAVendor
This field contains the vendor ID of the HBA. This is an ASCII text field. It is currently not supported.
ataContrlFamily
Reserved.
ataContrlType
This field identifies the specific type of ATA controller. This field is not supported; it returns a value of 0.
ataXPTversion
Reserved.
ataHBAversion
This field specifies the version of the HBA. This field is not supported; it returns a value of 0.
ataHBAslotType
This field specifies the type of slot. This field is not supported; it returns a value of 0.
ataHBAslotNum
This field specifies the slot number of the HBA. This field is not supported; it returns a value of 0.
RESULT CODES

See Table A-1 for possible result codes returned by the ATA Manager.


© 1999 Apple Computer, Inc. — (Last Updated 30 Oct 97)

Previous | Back Up One Level | Next | Show Frames | Hide Frames